//
//  GradientView.swift
//  ZYA
//
//  Created by 邱仙凯 on 2024/12/4.
//  Copyright © 2024 zwb. All rights reserved.
//

import UIKit
 
class GradientView: UIView {
    var gradientLayer:CAGradientLayer?

    
    override func layoutSubviews() {
        super.layoutSubviews()
        gradientLayer?.frame = self.bounds
    }
    
    func setGradient(type:GradientType,startColor:UIColor,endColor:UIColor) {
        // 清除之前的图层（如果有）
      
       if gradientLayer?.superlayer != nil {
           gradientLayer?.removeFromSuperlayer()
        }
   
        gradientLayer = CAGradientLayer()
        
            // 设置 gradientLayer 的大小与视图大小一致
            gradientLayer?.frame = self.bounds
            
            // 设置渐变的颜色数组
            gradientLayer?.colors = [
                startColor.cgColor,
                endColor.cgColor
            ]
        if type == .top2bottom {
            // 设置渐变的方向（从顶部到底部）
            gradientLayer?.startPoint = CGPoint(x: 0.5, y: 0.0)
            gradientLayer?.endPoint = CGPoint(x: 0.5, y: 1.0)
        } else {
            // 设置渐变的方向（从左到右）
            gradientLayer?.startPoint = CGPoint(x: 0.0, y: 0.5)
            gradientLayer?.endPoint = CGPoint(x: 1.0, y: 0.5)
        }
          
            
            // 将 gradientLayer 添加到视图的图层中
//            self.layer.removeFromSuperlayer()
            self.layer.insertSublayer(gradientLayer!, at: 0)
        
        }
   
   override init(frame: CGRect) {
       super.init(frame: frame)
//       setupGradient()
   }
   
   required init?(coder: NSCoder) {
       super.init(coder: coder)
//       setupGradient()
   }
   
//   private func setupGradient() {
//       // 创建一个 CAGradientLayer
//       let gradientLayer = CAGradientLayer()
//       
//       // 设置 gradientLayer 的大小与视图大小一致
//       gradientLayer.frame = self.bounds
//       
//       // 设置渐变的颜色数组
//       gradientLayer.colors = [
//           UIColor(kshex: "#6F9EFE").cgColor,
//           Theme.commonBg.cgColor
//       ]
//       
//       // 设置渐变的方向（从顶部到底部）
//       gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.0)
//       gradientLayer.endPoint = CGPoint(x: 0.5, y: 1.0)
//       
//       // 将 gradientLayer 添加到视图的图层中
//       self.layer.insertSublayer(gradientLayer, at: 0)
//   }
}
